Many integrated circuit (IC) devices, e.g., application specific integrated circuits (ASICs) or other custom IC devices, are designed and fabricated using a number of various computer-implemented automatic design processes. Within these processes, a high level design language description of the integrated circuit (e.g., using HDL, VHDL, Verilog, etc.) is first translated by a computer system into a netlist of generic logic. The generic logic can then be translated into a netlist of technology-specific gates and interconnections therebetween that represent the IC design. The netlist is, more specifically, a listing of circuit elements and their connectivity information and is stored within computer memory (as part of a design database environment) of the computer system.
To reduce costs and time to market, circuit designers have developed design libraries which contain numerous standard design objects grouped by specific function, along with known electrical operating characteristics and parametric values including, for example, resistance and capacitance. Standard cell libraries are illustrative of design libraries that contain commonly used medium-scale integration (MSI) structures such as decoders, registers, and counters and commonly used large-scale integration (LSI) structures such as memories, programmable logic arrays, and microprocessors. The circuit designer utilizes the standard cells and custom cells to design and optimize the layout of a circuit by, for example, reducing propagation delays and minimizing the size of the chip to increase the number of chips which can be fabricated on a single wafer.
It is advantageous sometimes to replace an existing design object (i.e., a cell or a subcircuit) in a particular IC design by another design object for a number of reasons (e.g., the circuit represented by the replacement design object is faster, consumes less power, more immune to noise, et cetera). Replacing design objects in an IC design is rather complicated, however, especially where the design object to be replaced is provided as part of a hierarchical design netlist. Further, if the subcircuit represented by the design object is used at multiple locations within the overall IC design, it is necessary that the replacement subcircuit has a signal interface that is compatible throughout the hierarchy.